// -*- C++ -*-

//=============================================================================
/**
*  @file    Shared_Object.h
*
*	@date    2009-12-17 16:08
*
*  @author wing <totti19851101@gmail.com>
*/
//=============================================================================

#ifndef _SHARED_OBJECT_H_
#define _SHARED_OBJECT_H_

#include "Pre.h"


/**
* @class Shared_Object
*
* @brief Provide the abstract base class used to access dynamic
* linking facilities.
*/

class Shared_Object
{
public:
	Shared_Object( void );

	/// Initializes object when dynamic linking occurs.
	virtual int init( int argc, char* argv[] );

	/// Terminates object when dynamic unlinking occurs.
	virtual int fini( void );

	/// Returns information on a service object.
	virtual int info( char** info_string, size_t length = 0 ) const;

	virtual ~Shared_Object( void );
};

#include "Post.h"
#endif//_SHARED_OBJECT_H_